package com.taobao.api.request;

import java.util.List;
import com.taobao.api.internal.mapping.ApiField;
import com.taobao.api.internal.mapping.ApiListField;
import com.taobao.api.TaobaoObject;
import java.util.Map;

import com.taobao.api.ApiRuleException;
import com.taobao.api.BaseTaobaoRequest;
import com.taobao.api.internal.util.TaobaoHashMap;
import com.taobao.api.internal.util.json.JSONWriter;
import com.taobao.api.response.RdcAligeniusWarehouseResendLogisticsMsgPostResponse;

/**
 * TOP API: taobao.rdc.aligenius.warehouse.resend.logistics.msg.post request
 * 
 * @author top auto create
 * @since 1.0, 2018.09.21
 */
public class RdcAligeniusWarehouseResendLogisticsMsgPostRequest extends BaseTaobaoRequest<RdcAligeniusWarehouseResendLogisticsMsgPostResponse> {
	
	

	/** 
	* 参数
	 */
	private String param0;

	public void setParam0(String param0) {
		this.param0 = param0;
	}

	public void setParam0(SendResendLogisticsMsgDto param0) {
		this.param0 = new JSONWriter(false,true).write(param0);
	}

	public String getParam0() {
		return this.param0;
	}

	public String getApiMethodName() {
		return "taobao.rdc.aligenius.warehouse.resend.logistics.msg.post";
	}

	public Map<String, String> getTextParams() {		
		TaobaoHashMap txtParams = new TaobaoHashMap();
		txtParams.put("param0", this.param0);
		if(this.udfParams != null) {
			txtParams.putAll(this.udfParams);
		}
		return txtParams;
	}

	public Class<RdcAligeniusWarehouseResendLogisticsMsgPostResponse> getResponseClass() {
		return RdcAligeniusWarehouseResendLogisticsMsgPostResponse.class;
	}

	public void check() throws ApiRuleException {
	}
	
	/**
 * 该运单所包含的货品列表
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class GoodsItem extends TaobaoObject {

	private static final long serialVersionUID = 6793916967915899611L;

	/**
		 * 货品ID
		 */
		@ApiField("goods_id")
		private String goodsId;
		/**
		 * 货品数量
		 */
		@ApiField("num")
		private Long num;
		/**
		 * 子订单编号
		 */
		@ApiField("oid")
		private Long oid;
	

	public String getGoodsId() {
			return this.goodsId;
		}
		public void setGoodsId(String goodsId) {
			this.goodsId = goodsId;
		}
		public Long getNum() {
			return this.num;
		}
		public void setNum(Long num) {
			this.num = num;
		}
		public Long getOid() {
			return this.oid;
		}
		public void setOid(Long oid) {
			this.oid = oid;
		}

}

	/**
 * 参数
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class SendResendLogisticsMsgDto extends TaobaoObject {

	private static final long serialVersionUID = 4319472194842154443L;

	/**
		 * 发货单唯一标识
		 */
		@ApiField("biz_id")
		private String bizId;
		/**
		 * 物流公司名称
		 */
		@ApiField("company_name")
		private String companyName;
		/**
		 * 该运单所包含的货品列表
		 */
		@ApiListField("goods_item_list")
		@ApiField("goods_item")
		private List<GoodsItem> goodsItemList;
		/**
		 * 运单号
		 */
		@ApiField("mail_no")
		private String mailNo;
		/**
		 * 描述
		 */
		@ApiField("msg")
		private String msg;
		/**
		 * 成功发货的发货单运单号，菜鸟为LP单号
		 */
		@ApiField("order_code")
		private String orderCode;
		/**
		 * 平台补发单唯一标识
		 */
		@ApiField("source_id")
		private String sourceId;
		/**
		 * 运单状态（-1=废单，1=已下发）
		 */
		@ApiField("status")
		private Long status;
		/**
		 * 主订单
		 */
		@ApiField("tid")
		private Long tid;
	

	public String getBizId() {
			return this.bizId;
		}
		public void setBizId(String bizId) {
			this.bizId = bizId;
		}
		public String getCompanyName() {
			return this.companyName;
		}
		public void setCompanyName(String companyName) {
			this.companyName = companyName;
		}
		public List<GoodsItem> getGoodsItemList() {
			return this.goodsItemList;
		}
		public void setGoodsItemList(List<GoodsItem> goodsItemList) {
			this.goodsItemList = goodsItemList;
		}
		public String getMailNo() {
			return this.mailNo;
		}
		public void setMailNo(String mailNo) {
			this.mailNo = mailNo;
		}
		public String getMsg() {
			return this.msg;
		}
		public void setMsg(String msg) {
			this.msg = msg;
		}
		public String getOrderCode() {
			return this.orderCode;
		}
		public void setOrderCode(String orderCode) {
			this.orderCode = orderCode;
		}
		public String getSourceId() {
			return this.sourceId;
		}
		public void setSourceId(String sourceId) {
			this.sourceId = sourceId;
		}
		public Long getStatus() {
			return this.status;
		}
		public void setStatus(Long status) {
			this.status = status;
		}
		public Long getTid() {
			return this.tid;
		}
		public void setTid(Long tid) {
			this.tid = tid;
		}

}


}